9626. startsWith endsWith
Заданы
три строки символов. Проверьте, является ли вторая строка префиксом первой.
Проверьте, является ли третья строка суффиксом первой.
Вход. Три строки, каждая из которых
содержит не более 100 символов.
Выход. В первой строке выведите true
или false
в зависимости от того является ли вторая строка префиксом первой. Во второй
строке выведите true или false в зависимости от того является
ли третья строка суффиксом первой.
Пример
входа |
Пример
выхода |
qwerty qwe ty |
true true |
строки
Функция
char
*strstr(const char *haystack, const char *needle)
находит
первое вхождение подстроки needle в
строку haystack.
Строка
b является префиксом a, если b входит в a начиная с позиции 0.
Строка
c является суффиксом a, если c входит в a начиная с позиции
a + strlen(a) – strlen(c)
Реализация алгоритма
Объявим
три символьные строки.
char a[101], b[101], c[101];
Читаем
три входных строки.
gets(a);
gets(b);
gets(c);
Строка
b является префиксом a, если b входит в a начиная с позиции 0.
if (strstr(a, b) == a)
puts("true");
else
puts("false");
Строка
c является суффиксом a, если c входит в a начиная с позиции a
+ strlen(a) – strlen(c).
if (strstr(a + strlen(a) - strlen(c), c) == a + strlen(a) -
strlen(c))
puts("true");
else
puts("false");
Реализация алгоритма –
С++
#include <iostream>
#include <string>
using namespace std;
string a, b, c;
int len;
int main()
{
cin >> a >> b >> c;
if (a.substr(0, b.size()) == b)
puts("true");
else
puts("false");
if (a.substr(a.size() - c.size(), c.size()) == c)
puts("true");
else
puts("false");
return 0;
}
Java реализация
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new
Scanner(System.in);
String s = con.nextLine();
if (s.startsWith(con.nextLine()))
System.out.println("true"); else System.out.println("false");
if (s.endsWith(con.nextLine()))
System.out.println("true"); else System.out.println("false");
con.close();
}
}
Python реализация
s = input()
start
= input()
end
= input()
if s.startswith(start):
print("true")
else:
print("false")
if s.endswith(end):
print("true")
else:
print("false")